package cn.com.huzo.model.entities.inventory;

import huzofw.model.entities.BaseEntity;
import huzofw.model.entities.IAggregateRoot;
import java.io.Serializable;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * 入库单明细-本次引入的采购订单明细实体类
 *
 * @author 吴旭
 */
public class StockInLinesPoLinesEntity extends BaseEntity implements Serializable, IAggregateRoot {

    private static final long serialVersionUID = 4920916104932467395L;
    private String LinesId;
    private Long HeaderId;                // 入库单标识
    private Long PoHeaderId;              // 引入的采购订单标识
    private String PoLinesId;             // 引入的采购订单明细标识
    private String PoNo;                  // 订单号
    private String StyleNo;               // 款号
    private String Destination;           // 发货目的地
    private Long MaterialId;              // 材料
    private String MaterialName;          // 材料名
    private String MaterialCode;          // 料号
    private String MaterialColourNumber;  // 材料色号
    private String MaterialColourName;    // 材料颜色
    private Long UomId;                   // 订单计量单位
    private String UomName;
    private String Specification;         // 规格
    private String YarnCount;             // 纱支
    private String FabricWidth;           // 幅宽
    private String GramWeight;            // 克重
    private Double PoQuantity;            // 订单数量
    private Double ArrivedQuantity;       // 已到数量
    private Double ShouldBeQuantity;      // 应到数量
    private Double ShortRuleQuantity;     // 短尺数量
    private Double ReceivedQuantity;      // 到货数
    private Double StockInQuantity;       // 入库数（上账数）

    public String getLinesId() {
        return LinesId;
    }

    public void setLinesId(String LinesId) {
        this.LinesId = LinesId;
    }

    public Long getHeaderId() {
        return HeaderId;
    }

    public void setHeaderId(Long HeaderId) {
        this.HeaderId = HeaderId;
    }

    public Long getPoHeaderId() {
        return PoHeaderId;
    }

    public void setPoHeaderId(Long PoHeaderId) {
        this.PoHeaderId = PoHeaderId;
    }

    public String getPoLinesId() {
        return PoLinesId;
    }

    public void setPoLinesId(String PoLinesId) {
        this.PoLinesId = PoLinesId;
    }

    public String getPoNo() {
        return PoNo;
    }

    public void setPoNo(String PoNo) {
        this.PoNo = PoNo;
    }

    public String getStyleNo() {
        return StyleNo;
    }

    public void setStyleNo(String StyleNo) {
        this.StyleNo = StyleNo;
    }

    public String getDestination() {
        return Destination;
    }

    public void setDestination(String Destination) {
        this.Destination = Destination;
    }

    public Long getMaterialId() {
        return MaterialId;
    }

    public void setMaterialId(Long MaterialId) {
        this.MaterialId = MaterialId;
    }

    public String getMaterialName() {
        return MaterialName;
    }

    public void setMaterialName(String MaterialName) {
        this.MaterialName = MaterialName;
    }

    public String getMaterialCode() {
        return MaterialCode;
    }

    public void setMaterialCode(String MaterialCode) {
        this.MaterialCode = MaterialCode;
    }

    public String getMaterialColourNumber() {
        return MaterialColourNumber;
    }

    public void setMaterialColourNumber(String MaterialColourNumber) {
        this.MaterialColourNumber = MaterialColourNumber;
    }

    public String getMaterialColourName() {
        return MaterialColourName;
    }

    public void setMaterialColourName(String MaterialColourName) {
        this.MaterialColourName = MaterialColourName;
    }

    public Long getUomId() {
        return UomId;
    }

    public void setUomId(Long UomId) {
        this.UomId = UomId;
    }

    public String getUomName() {
        return UomName;
    }

    public void setUomName(String UomName) {
        this.UomName = UomName;
    }

    public String getSpecification() {
        return Specification;
    }

    public void setSpecification(String Specification) {
        this.Specification = Specification;
    }

    public String getYarnCount() {
        return YarnCount;
    }

    public void setYarnCount(String YarnCount) {
        this.YarnCount = YarnCount;
    }

    public String getFabricWidth() {
        return FabricWidth;
    }

    public void setFabricWidth(String FabricWidth) {
        this.FabricWidth = FabricWidth;
    }

    public String getGramWeight() {
        return GramWeight;
    }

    public void setGramWeight(String GramWeight) {
        this.GramWeight = GramWeight;
    }

    public Double getPoQuantity() {
        return PoQuantity;
    }

    public void setPoQuantity(Double PoQuantity) {
        this.PoQuantity = PoQuantity;
    }

    public Double getArrivedQuantity() {
        return ArrivedQuantity;
    }

    public void setArrivedQuantity(Double ArrivedQuantity) {
        this.ArrivedQuantity = ArrivedQuantity;
    }

    public Double getShouldBeQuantity() {
        return ShouldBeQuantity;
    }

    public void setShouldBeQuantity(Double ShouldBeQuantity) {
        this.ShouldBeQuantity = ShouldBeQuantity;
    }

    public Double getShortRuleQuantity() {
        return ShortRuleQuantity;
    }

    public void setShortRuleQuantity(Double ShortRuleQuantity) {
        this.ShortRuleQuantity = ShortRuleQuantity;
    }

    public Double getReceivedQuantity() {
        return ReceivedQuantity;
    }

    public void setReceivedQuantity(Double ReceivedQuantity) {
        this.ReceivedQuantity = ReceivedQuantity;
    }

    public Double getStockInQuantity() {
        return StockInQuantity;
    }

    public void setStockInQuantity(Double StockInQuantity) {
        this.StockInQuantity = StockInQuantity;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof StockInLinesPoLinesEntity)) {
            return false;
        }

        final StockInLinesPoLinesEntity that = (StockInLinesPoLinesEntity) o;

        return new EqualsBuilder()
                .append(this.getLinesId(), that.getLinesId())
                .isEquals();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public int hashCode() {
        int result = 17;
        result = 31 * result + this.getLinesId().hashCode();

        return result;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}
